import time
import random
from datetime import datetime, timedelta
from utils.OrderUtil import update_order_hist
from utils.email_utils import send_order_email

# 模拟支付状态存储
_payment_status = {}

def handle_payment(order_data, user_email):
    """模拟支付处理流程"""
    if not order_data:
        return False
    
    # 生成唯一订单ID
    order_id = f"ORD-{int(time.time())}-{random.randint(1000,9999)}"
    
    # 模拟支付处理（实际项目中替换为真实支付逻辑）
    _payment_status[order_id] = {
        'status': 'processing',
        'expire_time': datetime.now() + timedelta(minutes=15)
    }
    
    # 模拟支付结果（实际项目中通过回调或轮询获取）
    time.sleep(2)  # 模拟支付处理时间
    _payment_status[order_id]['status'] = 'success'
    
    # 检查支付结果
    if _payment_status.get(order_id, {}).get('status') == 'success':
        update_order_hist(order_data)
        send_order_email(user_email, order_data)
        return True
    
    return False
